/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package funda.appius.Presupuesto;

import funda.appius.arquitectura.AbstractFunda;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author payo
 */
public class Seccion_Indirectos extends AbstractFunda{
    
    private String Nombre;
    private ArrayList<Indirecto_Catalogo> LstIndirectoCatalogo;
    private int IdListadoInsumos, IdSeccionIndirectos;

    public int getIdListadoInsumos() {
        return IdListadoInsumos;
    }

    public void setIdListadoInsumos(int IdListadoInsumos) {
        this.IdListadoInsumos = IdListadoInsumos;
    }

    public int getIdSeccionIndirectos() {
        return IdSeccionIndirectos;
    }

    public void setIdSeccionIndirectos(int IdSeccionIndirectos) {
        this.IdSeccionIndirectos = IdSeccionIndirectos;
    }

    public ArrayList<Indirecto_Catalogo> getLstIndirectoCatalogo() {
        return LstIndirectoCatalogo;
    }

    public void setLstIndirectoCatalogo(ArrayList<Indirecto_Catalogo> LstIndirectoCatalogo) {
        this.LstIndirectoCatalogo = LstIndirectoCatalogo;
    }

    public String getNombre() {
        return Nombre;
    }

    public void setNombre(String Nombre) {
        this.Nombre = Nombre;
    }
    
    
    
    public Seccion_Indirectos()
    {
        super();
    }

    public Seccion_Indirectos(String Nombre, int IdListadoInsumos) {
        super();
        this.LstIndirectoCatalogo = new ArrayList<Indirecto_Catalogo>();
        this.Nombre = Nombre;
        this.IdListadoInsumos = IdListadoInsumos;
        this.IdSeccionIndirectos = Integer.parseInt(insertarId().toString());
    }
    
    

    @Override
    protected void fillFunda(ResultSet row) {
         try{
            int x =0;
            this.IdSeccionIndirectos = row.getInt(++x);
            this.Nombre = row.getString(++x);
            this.IdListadoInsumos = row.getInt(++x);
            this.LstIndirectoCatalogo = new ArrayList<Indirecto_Catalogo>();
            List<AbstractFunda> abs = AbstractFunda.getAllFrom("indirectocatalogo", "IdIndirectoCatalogo", " IdSeccionIndirectos", IdSeccionIndirectos,Indirecto_Catalogo.class);
            for(AbstractFunda val : abs)
                this.LstIndirectoCatalogo.add((Indirecto_Catalogo)val);   }
        catch(Exception e){}
    }

    @Override
    protected void Comandos() {
        this.id = "IdSeccionIndirectos";
        this.tabla = "seccionindirectos";
        this.strDelete = "DeleteSeccionIndirectos";
        this.strInsertar = "InsertarSeccionIndirectos";
        this.strInsertarId = "InsertarIdSeccionIndirectos";
        this.strUpdate = "UpdateSeccionIndirectos";
    }

    @Override
    public ArrayList<Object> getAtributos() {
        ArrayList<Object> lst = new ArrayList<Object>();
        lst.add(Nombre);
        lst.add(IdListadoInsumos);
        lst.add(IdSeccionIndirectos);
        return lst;
    }
    
     @Override
    public Seccion_Indirectos get(Object id) {
        AbstractFunda abs = AbstractFunda.getAbstractFunda(new Seccion_Indirectos(),id,tabla,this.id);
        Seccion_Indirectos c = (Seccion_Indirectos)abs;
        return c;
    }
    
    public ArrayList<Seccion_Indirectos> getAll() {
        List<AbstractFunda> abs = AbstractFunda.getAll(tabla,id,this.getClass());
        ArrayList<Seccion_Indirectos> lst = new ArrayList<Seccion_Indirectos>();
        for(AbstractFunda af : abs)
            lst.add((Seccion_Indirectos)af);
        return lst;
    }
    
}
